/**
 *
 */
package com.ruicar.afs.cloud.easypass.process.service;

import java.util.List;

import com.ruicar.afs.cloud.easypass.enums.RequestEasypassPathEnum;
import com.ruicar.afs.cloud.easypass.process.dto.*;

/**
 *<p>Description: </p>  
 * @author happysayhello
 * @date Jul 26, 2020 
 */
public interface IEasypassProcessService {
    /**
     * 通用接口交互
     * @param <T>
     * @param pathEnum
     * @param requestBean
     * @param resClass
     * @return
     */
    public <T> EasypassRsponseBean<T> commonSendProcess(RequestEasypassPathEnum pathEnum, EasypassRequestBean requestBean, Class<T> resClass);


    /**
     * 批量付款
     * @param pathEnum
     * @param requestBean
     * @return
     */
    public EasypassRsponseBean payBatchApply(PayBatchApplyDTO requestBean,String msgid);


    /**
     * 批量收款
     * @param pathEnum
     * @param requestBean
     * @return
     */
    public EasypassRsponseBean recBatchApply(RecBatchApplyDTO requestBean);


    /**
     * 代付结果查询
     * @param msgid
     * @return
     */
    public EasypassRsponseBean<PayResultQryDTO> payResultQry(String msgid);


    /**
     * 代扣结果查询
     * @param msgid
     * @return
     */
    public EasypassRsponseBean<RecResultQryDTO> recResultQry(String msgid);


    /**
     * 上送短信签约申请(农行，建行)
     * @param requestBean
     * @return
     */
    public EasypassRsponseBean sendSmsVerify(SmsVerifyDTO dto);

    //回复短信内容或者验证码
    public EasypassRsponseBean sendSignApply(SmsSignApplyDTO dto);

}
